package com.quectel.sdk.dahua9100.basemodel.event;

import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 人脸事件轮训查询结果
 * <p>
 * method=fcs.faceAnalysis 的请求返回的人脸抓拍消息内容格式如下
 * <p>
 * age:类型int。年龄
 * <p>
 * beard:类型int。胡子状态;0-没胡子，1-有胡子
 * <p>
 * beardKey:类型string。胡子状态字典值
 * <p>
 * capTime:类型long。抓拍时间。毫秒值
 * <p>
 * channelCode:类型string。通道编码
 * <p>
 * channelId:类型string。通道id
 * <p>
 * channelName:类型string。通道名称
 * <p>
 * emotion:类型int。表情特征，1-微笑，2-愤怒，3-悲伤，4-厌恶，5-害怕，6-惊讶，7-正常，8-大笑，9-高兴，10-困惑，11-尖叫
 * <p>
 * emotionKey:类型string。表情特征字典值
 * <p>
 * extRecordId:类型string。外部关联id，表示和datasource中的记录的关联键，如过车记录的id
 * <p>
 * extractedFlag:类型string。特征提取标识，0：未提取, 1：提取成功, 2：提取失败, 99：算子分析异常，字段为空标识未提取
 * <p>
 * eye:类型int。眼睛状态;0-闭眼，1-睁眼
 * <p>
 * eyeKey:类型string。眼睛状态字典值
 * <p>
 * faceBottom:类型int。有可能为空，人脸在场景大图中的坐标，0-8191描述坐标系。右下角y坐标
 * <p>
 * faceImageId:类型string。标识每个人脸图片的唯一编码。此id可为mysql库成员的memberId，也可以为CloudDB抓拍记录中的faceImgId
 * <p>
 * faceImgBase64: 类型string。人脸图片base64编码格式
 * <p>
 * faceImgId:类型string。检索图片id
 * <p>
 * faceImgUrl:类型string。人脸图片url
 * <p>
 * faceImgUrlEx:类型string。人脸图片地址扩展。双网单平台的情况下，表示外网地址
 * <p>
 * faceLeft:类型int。有可能为空，人脸在场景大图中的坐标，0-8191描述坐标系。左上角x坐标
 * <p>
 * faceRight:类型int。有可能为空，人脸在场景大图中的坐标，0-8191描述坐标系。右下角x坐标
 * <p>
 * faceTop:类型int。有可能为空，人脸在场景大图中的坐标，0-8191描述坐标系。左上角y坐标
 * <p>
 * fringe:类型int。刘海状态;0-无，1-有
 * <p>
 * gender:类型int。性别代码，0-未知性别；1-男性；2-女性；9-未说明的性别
 * <p>
 * genderKey:类型string。性别代码字典值
 * <p>
 * glasses:类型int。眼镜状态;0-没眼镜，1-眼镜，2-墨镜
 * <p>
 * glassesKey:类型string。眼镜状态字典值
 * <p>
 * gpsX:类型double。经度
 * <p>
 * gpsY:类型double。纬度
 * <p>
 * imgBase64: 类型string。原图图片base64编码格式
 * <p>
 * imgUrl:类型string。原图url
 * <p>
 * imgUrlEx: 类型string。原图地址扩展。双网单平台的情况下，表示外网地址
 * <p>
 * mask:类型int。口罩状态;0-没戴口罩，1-戴口罩
 * <p>
 * maskKey:类型string。口罩状态字典值
 * <p>
 * mouth:类型int。嘴巴状态;0-闭嘴，1-张嘴
 * <p>
 * mouthKey:类型string。嘴巴状态字典值
 * <p>
 * recordId:类型string。抓拍记录唯一id
 * <p>
 * uid:类型string。PAAS域唯一id
 *
 * @author: rananxin
 * @email: ryan.ran@quectel.com
 * @date: 2022-11-09 14:52:00
 */
@NoArgsConstructor
@Data
public class EventFaceData {

    /**
     * method
     */
    private String method;
    /**
     * id
     */
    private Integer id;
    /**
     * info
     */
    private InfoCls info;

    /**
     * InfoCls
     */
    @NoArgsConstructor
    @Data
    public static class InfoCls {
        /**
         * age
         */
        private Integer age;
        /**
         * beard
         */
        private Integer beard;
        /**
         * capTime
         */
        private Long capTime;
        /**
         * channelCode
         */
        private String channelCode;
        /**
         * channelId
         */
        private String channelId;
        /**
         * channelName
         */
        private String channelName;
        /**
         * dataSource
         */
        private Integer dataSource;
        /**
         * deviceId
         */
        private String deviceId;
        /**
         * emotion
         */
        private Integer emotion;
        /**
         * ethnicCode
         */
        private String ethnicCode;
        /**
         * event
         */
        private String event;
        /**
         * extParam
         */
        private String extParam;
        /**
         * extRecordId
         */
        private String extRecordId;
        /**
         * eye
         */
        private Integer eye;
        /**
         * faceBottom
         */
        private Integer faceBottom;
        /**
         * faceImgId
         */
        private String faceImgId;
        /**
         * faceImgUrl
         */
        private String faceImgUrl;
        /**
         * faceImgUrlEx
         */
        private String faceImgUrlEx;
        /**
         * faceLeft
         */
        private Integer faceLeft;
        /**
         * faceRight
         */
        private Integer faceRight;
        /**
         * faceTop
         */
        private Integer faceTop;
        /**
         * fringe
         */
        private Integer fringe;
        /**
         * gender
         */
        private Integer gender;
        /**
         * glasses
         */
        private Integer glasses;
        /**
         * imgUrl
         */
        private String imgUrl;
        /**
         * imgUrlEx
         */
        private String imgUrlEx;
        /**
         * mask
         */
        private Integer mask;
        /**
         * mouth
         */
        private Integer mouth;
        /**
         * recordId
         */
        private String recordId;
        /**
         * uid
         */
        private String uid;
    }
}
